Este documento presenta una introducción a la programación en 3 oraciones o menos:
1) Explica los conceptos básicos de la programación como la historia, lenguajes de programación, estructuras de datos y algoritmos. 2) Describe los diferentes tipos de lenguajes de programación como lenguajes de bajo y alto nivel, ensambladores, compiladores e intérpretes. 3) Introduce los conceptos de programación estructurada como partes de un programa, algoritmos y medios para expresar algoritmos.
2. Sobre este material: Este material fue desarrollado por la estudiante Yelixa Araque del Programa Nacional de Formación de Sistemas e Informáticas de la Misión Sucre, el contenido del mismo es una introducción a la programación que oriente al estudiante en el inicio de la programación. Atentamente, TSU. Informática . Yelixa del C. Araque Angulo Ingeniería de Sistemas
4. Historia de la Programación Sobre los últimos 50 años, los idiomas que programan han evolucionado del código binario de máquina a herramientas poderosas que crean las abstracciones complejas. "Tan largo como no había máquinas, programar era ningún problema; cuando tuvimos unos pocas computadoras débiles, programar llegó a ser un problema templado y ahora que tenemos las computadoras gigantescas, programar ha llegado a ser un problema igualmente gigantesco. En este sentido que la industria electrónica no ha resuelto un solo problema, tiene sólo los creó - ha creado el problema de usar su producto".
5. La llave de la programación La abstracción En sistemas sencillos, la característica de idiomas usados en el 1950s y '60s, un solo programista podría entender el problema entero, y por lo tanto manipulaba todas las estructuras del programa y datos. La abstracción es la llave de la construcción de sistemas complejos de software. Como el tamaño de nuestros problemas crece, la necesidad para la abstracción dramáticamente aumenta. Los programistas son hoy incapaces de entender todos los programas y los datos, entonces a través de la abstracción permite al programista seleccionar los conceptos necesarios.
6. ¿Qué es un Lenguaje de Programación? Lenguaje de programación, en informática, cualquier lenguaje artificial que puede utilizarse para definir una secuencia de instrucciones para su procesamiento por un ordenador o computadora.
7. Tipos de Lenguajes de programación Lenguaje de Bajo Nivel Lenguaje Ensamblador Programación estructurada Lenguaje de Alto Nivel Programación Orientada a objeto
10. Era necesario conocer las arquitecturas particulares de los sistemas computacionales para programar en ellos.
11.
12. Precisa un amplio conocimiento sobre la constitución., estructura y funcionamiento interno de un ordenador .
13.
14. Son independientes de la arquitectura del ordenador utilizado como soporte .
15. Los programas desarrollados en este lenguaje pueden ser ejecutados sobre ordenadores con distintos microprocesadores.
16.
17. Programación Estructurada Programación estructurada, en informática, término general que se refiere a un tipo de programación que produce código con un flujo limpio, un diseño claro y un cierto grado de modularidad o de estructura jerárquica. Entre los beneficios de la programación estructurada se encuentran la facilidad de mantenimiento y la legibilidad por parte de otros programadores. La programación estructurada se refiere tanto a la estrategia del programador, como al lenguaje utilizado. Así, para ella se usan lenguajes de programación que faciliten el diseño de aplicaciones con llamadas a procedimientos o funciones, como lo son típicamente Pascal y Ada, entre otros. En ellos el flujo de información es más fácilmente legible y no requieren de bifurcaciones basadas en llamadas a líneas concretas (uso de etiquetas al estilo BASIC), sino, más bien, en saltos a áreas de código perfectamente diferenciadas. La programación bien estructurada permite, de forma adicional, la reusabilidad del código, extrayendo módulos que pueden ser utilizados en otros programas, sin cambios en el código o con un mínimo de readaptaciones.
18. Ventajas de la Programación Estructurada 3. Reducción del esfuerzo en las pruebas 7. Mejor estructura y presentación 1. Fácil de entender 4. Reducción de costos mantenimiento 5. Programas sencillos y rápidos 2. La estructura del programa es clara 6. Los bloques del código son auto explicativo
19. Ensambladores, Compiladores e Intérpretes Ensambladores : son los encargados de transformar o traducir directamente los programas escritos en el ensamblador a su equivalente en código máquina o código binario para que puedan ser ejecutados por el CPU. Proceso de conversión del código ensamblador a código máquina Ensamblador Traductor Utilizado Equivalente en código binario Programa desarrollado en lenguaje ensamblador
20. Intérpretes: es un programa de software encargado de procesar y traducir cada instrucción o sentencia de un programa escrito en un lenguaje de alto nivel a código máquina y después ejecutarla. La traducción o interpretación y la ejecución no se realizan como procesos independientes, sino en una misma operación e instrucción por instrucción, respetando el orden establecido entre ellas. Conversión de un programa interpretado a su equivalente en código máquina Edición Instrucción 1 Ejecución Inst. 1 Traductor Utilizado Intérprete Instrucción 2 Ejecución Inst. 2 Intérprete Instrucción N Ejecución Inst. 3 Intérprete
21. Compiladores: es un programa de software escrito en algún lenguaje de programación cuyo objetivo es traducir el correspondiente programa fuente(fichero constituido por un conjunto de instrucciones desarrolladas en un lenguaje de alto nivel) a su equivalente en código máquina, también denominado programa objeto. Un intérprete acepta un programa fuente que traduce y ejecuta simultáneamente analizando cada sentencia o instrucción por separado . Diferencia entre un compilador e intérprete Un compilador efectúa dicha operación en dos fases independientes, primero traduce completamente el programa fuente a código máquina y seguidamente ejecuta el programa
23. Edición: Consiste en la escritura del programa (empleando un lenguaje de programación previamente seleccionado) y su posterior grabación sobre un soporte de almacenamiento permanente. La edición del programa debe realizarse mediante la utilización de un editor, que puede formar parte o no del compilador utilizado. En esta fase se obtiene el denominado programa fuente. Compilación: Se traduce el programa fuente a su equivalente en código máquina, obteniendo en caso de no producirse un error el denominado programa objeto. En caso de producirse errores, el compilador lo mostrará utilizando los mensajes correspondientes, que nos permitirá corregir el programa fuente y proceder de nuevo a su compilación. Linkado: Recibe el nombre también de montaje y consiste en unir o enlazar el programa objeto obteniendo en la fase de compilación con determinadas rutinas internas del lenguaje . Ejecución: Consiste en la llamada del programa ejecutable a través del sistema operativo. Inicialmente se debe comprobar el buen funcionamiento del programa mediante el uso de unos juegos de pruebas que especifican los resultados que se desean obtener en función de unos determinados datos de entrada.
25. ¿Qué es un Dato? Un dato es toda aquella característica de una entidad siendo susceptible de tratamiento en un programa informático. Ejemplo: Nombre y dirección Datos de una empresa
26. Características de los datos Identificador Nombre para referenciar el dato Rango de valores que puede tomar el dato en función de una determinada clasificación. Tipo Elemento determinado que debe pertenecer al rango de valores según el tipo definido. Valor
27. Clasificación de Datos Dato Derivados Dato estructurados Dato Básicos Numéricos Carácter Lógico Puntero Internos Externos Estáticos Dinámicos Fichero Base Dato Entero Real No Lineales Lineales Lineales Tabla Lista Pila Cola Árbol Grafo
28. Constantes y Variables Variables Son datos cuya información es fija durante la ejecución del programa. Constante Son datos cuya información puede ser variable durante la ejecución del programa. Estos datos deben ser definidos con un identificador y un tipo de dato.
32. ¿Qué es un Programa? Un programa es un conjunto de pasos estructurados de formas lógicas traducidos en códigos que obedecen a los distintos lenguajes de programación, que nos permiten indicarle a un sistema computacional la forma de realizar una tarea.
33. Partes de un Programa Las ordenes o instrucciones de un programa se pueden dividir en tres grandes bloques diferentes, correspondiente cada uno de ellos a una parte del diseño de un programa: Proceso Salida de resultados Entrada de datos
34. En este bloque se engloban todas aquellas instrucciones que toman datos de un dispositivo o periférico externo, depositándolo posteriormente en memoria central o principal para poder ser procesados Entrada datos Engloba todas aquellas instrucciones encargadas de procesar la información o aquellos datos pendientes de elaborar y que previamente habían sido depositados en memoria principal para su posterior tratamiento. Proceso Este bloque esta formado por todas aquellas instrucciones que toman los resultados depositados en memoria principal una vez procesados los datos de entrada enviándolos seguidamente a un dispositivo o periférico externo. Salida de datos o resultados
35. Ejemplo : Realizar un análisis de E-P-S para calcular el promedio de 3 notas parciales de un alumno Entrada: Proceso: Salida:
36. ¿Qué es un Algoritmo? Algoritmos Es la descripción abstracta de todas las acciones u operaciones que debe realizar un ordenador de forma clara y detallada , así como el orden en el que éstas deberán ejecutarse junto con la descripción de todos aquellos datos que deberán ser manipulados por dichas acciones y que nos conducen a la solución de problema facilitando así su posterior traducción al lenguaje de programación correspondiente.
37. Es importante tener en cuenta que todo algoritmo debe ser totalmente independiente del lenguaje de programación que será utilizado , es decir, el algoritmo diseñado deberá permitir su traducción a cualquier lenguaje de programación con independencia del ordenador en le que se vaya a ejecutar dicho programa . Posibilidad de traducirlo a distintos lenguajes de programación Algoritmo Pascal Pentium III AMD Dual core C++ PHP Un solo diseño Posibilidad de utilizar distintas máquinas
38.
39. Nunca debe ser rígido en su diseño, debiendo mantener esta cualidad o característica de flexibilidad en sus representaciones gráficas .
40. Se caracteriza por tener un comienzo y un final. Por ello se puede decir que es finito o limitado
41. Al aplicar el mismo algoritmo “n” veces con los mismos datos de entrada, se debe obtener siempre los mismos resultados o datos de salida . Por eso se dice que es exacto y preciso.
44. Medios de expresión de un algoritmo Lenguaje Natural Tienden a ser ambiguas y extensas Pseudocódigo Algoritmo Evita muchas ambigüedades del lenguaje natural Expresar Diagramas de Flujo Evita muchas ambigüedades del lenguaje natural Lenguaje programación
45. Niveles de descripción de un algoritmo Se establece el problema, se selecciona un modelo matemático y se explica el algoritmo de manera verbal, posiblemente con ilustraciones y omitiendo detalles. Descripción de alto nivel Se usa pseudocódigo para describir la secuencia de pasos que encuentran la solución. Descripción formal Se muestra el algoritmo expresado en un lenguaje de programación específico o algún objeto capaz de llevar a cabo instrucciones Implementación
46. Corresponde Fases análisis Organigramas Los diagramas de flujo se pueden clasificar en dos grandes grupos: Corresponde Fases diseño Ordinogramas
47. ¿ Qué es un Diagrama de flujo? Es la representación gráfica que mediante el uso de símbolos estándar conectados o unidos mediante líneas de flujo, muestran las secuencia lógica de las operaciones o acciones que debe realizar un ordenador, así como la corriente o flujo de datos en la resolución de un programa. Los diseños deben ser normalizados para facilitar el intercambio de documentación entre el personal informático(analistas y programadores).
48.
49. Las entradas y salidas de cada área indicando los soportes que serán utilizados para el almacenamiento tantos de los datos pendientes de elaborar o procesar como de los resultados obtenidos.
50. El flujo de los datos Se denominan también diagramas de flujo de sistemas o diagramas de flujo de configuración. Son representaciones gráficas del flujo de datos e información entre los periféricos o soportes físicos(de entrada/salida) que maneja un programa
51.
52. En la parte superior del diseño y siempre por encima del símbolo de proceso deben figurar los soportes de entradas.
53. En la parte inferior del diseño y siempre por debajo del símbolo de proceso deben figurar los soportes de salida.
54.
55. Simbología utilizada en la construcción de organigramas Símbolos de soporte de información o dispositivos físicos:
56. b) Símbolos de soporte de información o dispositivos físicos: c) Líneas de flujo de datos:
57.
58. La secuencia de operaciones, lo más detallada posible y siguiendo siempre el orden en el que se deberán ejecutar(de arriba-abajo e izquierda-derecha)
59. Un fin que marca la finalización de ejecución del programa y que viene determinado por la palabra FIN.Se denominan también diagramas de flujo de programas. Son representaciones gráficas que muestran la secuencia lógica y detallada de las operaciones que se van a realizar en la ejecución de un programa.
60.
61. Queda terminantemente prohibido el cruce de líneas de conexión, pues ello nos indican que el ordinograma no está correctamente diseñado.
62. A un símbolo de decisión pueden llegarle varias líneas de conexión o flujo , pero de él sólo puede salir una.
63. A un símbolo de decisión pueden llegarle varias líneas de conexión o flujo de datos, pero de él sólo puede salir una línea de entre las dos posibilidades existentes(verdadero o falso).
64. A un símbolo de inicio de proceso no llega ninguna línea de conexión o flujo y de él sólo puede partir una línea de conexión.